package city.spring.service.mealService;

import city.spring.domain.entity.mealService.FoodInfoEntity;
import city.spring.domain.entity.mealService.WeekMealEntity;
import com.baomidou.mybatisplus.extension.service.IService;

import java.time.LocalDate;
import java.time.LocalTime;
import java.util.List;
import java.util.Map;

public interface WeekMealService extends IService<WeekMealEntity> {

    void saveWeekMeal(WeekMealEntity entity);

    void updateWeekMeal(WeekMealEntity entity);

    void deleteWeekMeal(String primaryKey);

    void deleteWeekMeal(List<String> primaryKeys);

//    void loadRecipesVotes(WeekMealEntity entity);

    List<WeekMealEntity> getWeekMeal(String weekId);

    void setMealFood(WeekMealEntity entity, String mealTurn);

    void updateMealFood(WeekMealEntity entity, String mealTurn);

    void updateMealFoodVotes(WeekMealEntity entity, String mealTurn, int votes);

    void deleteMealFood(WeekMealEntity entity, String mealTurn);

    Map<String, List<FoodInfoEntity>> loadMealTurnFood(WeekMealEntity entity);

    Map<String, Map<Integer, List<FoodInfoEntity>>> loadVotesMealTurnFood(WeekMealEntity entity);

    Map<String, List<FoodInfoEntity>> currentFood(List<String> diseaseId, LocalDate date, LocalTime startTime, LocalTime endTime);

    Map<String, List<FoodInfoEntity>> currentFoodList(LocalDate date, LocalTime startTime, LocalTime endTime);
}
